home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Bootlegger Magazine (1983)(Bootleg).zip / Bootlegger Magazine (1983)(Bootleg).do / CRACKING-PART 7.txt < prev    next >
Text File  |  1996-12-24  |  10KB  |  371 lines

  1. A
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12. #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#
  13.          APPLE CRACKING SECTION
  14. =#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23. WEEK.
  24.  
  25. OUR FIRST TOPIC WILL BE BOOT TRACING.
  26. AND WE WILL USE IT ON APPLE GALAXIAN.
  27.  
  28. I KNOW THAT THERE ARE LOTS OF BROKEN
  29. COPIES OF THIS GAME FLOATING AROUND,
  30. BUT I CHOSE IT BECAUSE IT IS A WIDELY
  31. DISTRIBUTED PROGRAM AND GOES WITH ALL
  32. THE TIPS I HAVE FOR YOU ABOUT BOOT
  33. TRACING.
  34.  
  35. NOW FOR ALL YOU PIRATES OUT THERE, YES
  36. THERE IS ANOTHER WAY TO CRACK PROGRAMS.
  37.  YOU DON'T NEED ANY RAM-CARDS,PROM
  38. BURNERS, OR FOREIGN-TO-REGULAR DOS
  39. PROGRAMS, ANYBODY WHO IS NOT A CLOWN,
  40. WITH  SOME MACHINE  LANGUAGE
  41. PROGRAMMING ABILITY CAN TRACE A BOOT. 
  42. THIS METHOD OF CRACKING, TRACING THE
  43. BOOT, IS IN A TRUE SENSE, CRACKING THE
  44. CODE. YOU SEE, FOR ALL DISKS, THEY MUST
  45. FIRST BOOT UP TO START RUNNING.  AFTER
  46. THE FIRST STAGE BOOT (AT LOCATION
  47. $C600), THEY JUMP TO  SECOND STAGE BOOT
  48. PROGRAM (AT $800), AND THEN TO A THIRD,
  49. AND SOME EVEN A FORTH, BUT THERE COMES
  50. A POINT WHERE THE LOADING OF THE
  51. PROGRAM FROM DISK STOPS, AND THE
  52. RUNNING OF THE PROGRAM BEGINS. IF  YOU
  53. CAN TRACE THIS, AND STOP IT AFTER IT IS
  54. FINISHED LOADING, AND SAVE ALL THE
  55. MEMORY LOCATIONS THAT CONTAIN THE
  56. PROGRAM ONTO A NORMAL 3.3 DISK, YOU
  57. HAVE CRACKED THE PROGRAM.  THIS METHOD
  58. IS MOST USEFUL FOR CRACKING THE
  59. "SINGLE-SHOT" BOOTING  PROGRAMS SUCH AS
  60. APPLE PANIC, RASTER BLASTER, AND
  61. GORGON. THESE DISKS DON'T CONTAIN ANY
  62. STANDARD DOS, BUT RATHER THEIR OWN.
  63. THIS DOS HAS JUST ONE PURPOSE, AND THAT
  64. IS TO LOAD THE PROGRAM INTO THE
  65. COMPUTER, FROM THE DISK, AND START ITS
  66. EXECUTION.  NOW, THIS IS NOT AS SIMPLE
  67. AS IT SOUNDS, AS THE SOFTWARE
  68. PROTECTORS ARE NOT DUMB, THEY TRY TO
  69. MAKE IT TOUGH FOR YOU TO TRACE. 
  70. HOWEVER, IT IS NOT IMPOSSIBLE, SINCE
  71. THE DISK MUST BOOT UP, AND SINCE IT
  72. MUST HAVE SOME BOOTING PROCESS, THAT IS
  73.  TRACEABLE.
  74.      LET ME TRY AND SHOW YOU AN EXAMPLE
  75. OF HOW TO TRACE A BOOT OF A PROGRAM.LET
  76. ME SHOW YOU HOW TO TRACE APPLE
  77. GALAXIAN.  THE FIRST STAGE BOOT STARTS
  78. AT $C600. IF YOU TURN YOUR APPLE ON,
  79. AND   TYPE "CALL-151 (RETURN)" AND
  80. "C600G (RETURN)", THE DISK WILL PROCEED
  81. TO START AND BOOT THE DISK IN THE
  82. DRIVE. THIS IS BECAUSE $C600 CONTAINING
  83. THE PROGRAM FOR THE DISK TO BOOT FIRST.
  84.  IF, YOU EXAMINE THIS PROGRAM BY TYPING
  85. "CALL-151 (RETURN)", AND "C600LLLLLLL
  86. (RETURN)", YOU WILL SOON COME ACROSS A
  87. JMP $801, NEAR THE END, SPECIFICALLY,
  88. AT $C6F8. THIS IS THE LINK TO THE NEXT
  89. STAGE OF THE BOOT WHAT WE MUST DO IS
  90. ALLOW THE FIRST STAGE TO LOAD IN AT
  91. $800, BUT INSTEAD OF LETTING IT RUN
  92. (CONTINUE TO BOOT, AND GO TO $800),
  93. STOP THE COMPUTER, AND EXAMINE WHAT IS
  94. AT $800. TO DO THIS LETS  MOVE $C600
  95. DOWN TO $9600.TYPE "CALL-151 (RETURN)"
  96. AND "9600<C600.C700M (RETURN)" THIS
  97. MOVES C600 DOWN FOR YOU. THEN
  98. TYPE"96F8:4C 59 FF (RETURN)", THIS
  99. WILL, INSTEAD OF HAVING THE BOOT GOTO
  100. $800, WILL MAKE IT JUMP TO $FF59 (THE
  101. RESET LOCATION). THEN TYPE "9600G".
  102. YOUR DISK SHOULD  BOOT UP FOR A SECOND
  103. OR SO, AND THEN YOU SHOULD HEAR BELL,
  104. AND THE MONITOR CURSOR WILL APPEAR AT
  105. THE BOTTOM OF THE SCREEN.THE NEXT STEP
  106. IS TO EXAMINE THE BOOT AT LOCATION
  107. $800. IF YOU LOOK AT THIS BY TYPING
  108. "800L (RETURN)" YOU WILL SEE THE SECOND
  109. STAGE BOOT OF APPLE GALAXIAN. BY TYPING
  110. "800LLLLLLL (RETURN)", YOU CAN SEE WHAT
  111. GOES ON NEXT IN THE BOOT STEP. WHAT
  112. HAPPENS NEXT, IS THAT IT TAKES THE
  113. MEMORY THAT IS STORED AT $800, AND
  114. MOVES IT DOWN TO $200, AND SOME OTHER
  115. STUFF, LIKE LOADING THE NEXT STAGE OF
  116. THE BOOT, AND THEN, IF YOU LOOK AT
  117. LOCATION $841, YOU WILL SEE A JUMP TO
  118. $301. THIS IS THE NEXT STAGE IN THE
  119. BOOT. SO, WE MUST MOVE WHAT IS IN
  120. MEMORY UP, OUT OF $800, BECAUSE THE
  121. NEXT TIME WE BOOT THE DISK, THE
  122. LOCATIONS AT $800 WILL BE CHANGED, SO
  123. TYPE "9800<800.900M (RETURN)", AND THAT
  124. WILL DO THE MOVE. THE NEXT THING TO DO,
  125. IS TO CHANGE WHAT IS AT $9800, THE
  126. STUFF WE JUST MOVED UP, SO THAT IT WILL
  127. RUN AT $9800, INSTEAD OF ITS NORMAL
  128. LOCATION OF $800. TO DO THIS, TYPE "
  129. 9803:BD 0 98 (RETURN)" AND "9841:4C 01 
  130. 93 (RETURN)". THEN TYPE "9301:4C 59
  131. FF", BECAUSE WE CHANGED IT TO RUN AT
  132. $9800, AND ALSO CHANGED IT TO STOP
  133. AFTER DOING THIS INSTEAD OF JUMPING TO
  134. THE NEXT BOOT STAGE, AT $300. WE TOLD
  135. IT TO JUMP TO $9300, AND AT $9300, WE
  136. PUT A JMP $FF59 (JUMP TO RESET). AND
  137. FINALLY, CHANGE THE JMP AT $96F8 FROM
  138. $FF59 TO $9801 BY TYPING "96F8:4C 01
  139. 98". NOW AGAIN TYPE $9600G.
  140.  
  141.     THIS TIME, WE ARE ONE STAGE
  142. FARTHER, IF YOU NOW MOVE THE STUFF AT
  143. $300 UP TO $9300, AND CHANGE IT TO WORK
  144. AT $9300 BY TYPING "9300<300.400M
  145. (RETURN)" AND "9313:AD CC 93 (RETURN),
  146. AND "933C:AD CC 93 (RETURN)", THIS WILL
  147. BE COMPLETED. BUT NOW, THERE IS A
  148. PROBLEM. THE JUMP OUT IS AT $9343, AND
  149. IT JUMPS NOT TO THE NEXT STAGE
  150. IMMEDIATELY, BUT TO A CERTAIN AMOUNT OF
  151. SUBROUTINES, AND AFTER THEM , THROUGH
  152. THE SAME JUMP, JUMPS TO THE NEXT STAGE.
  153. HOW DO WE GET AROUND THAT YOU ASK ? THE
  154. ANSWER IS TO WRITE A PROGRAM THAT
  155. CHECKS TO SEE WHERE IT IT JUMPING TO,
  156. AND IF IT IS NOT JUMPING TO WHERE IT
  157. NORMALLY JUMPS TO, THEN STOP, BECAUSE
  158. WE KNOW THAT THE NEXT JUMP IS NOT TO A
  159. SUBROUTINE, BUT TO THE NEXT STAGE OF
  160. THE BOOT. THIS MAY SOUND COMPLICATED,
  161. BUT JUST TYPE THIS ROUTINE IN AT $9400,
  162. "9400:A5 3E C9 5D D0 03 6C 3E 00 4C 59
  163. FF", AND "9343:4C 00 94 (RETURN)". THAT
  164. WILL TAKE CARE OF THIS STAGE. NOW CHECK
  165. TO SEE THAT YOU HAVE TYPED IN
  166. EVERYTHING CORRECTLY, AND THEN TYPE
  167. "9600G", TO RESTART THE BOOT.
  168.  
  169.     NOW, THE DISK SPINS FOR A LITTLE
  170. WHILE LONGER, AND THEN IT STOPS, WE
  171. HAVE COME TO THE LAST STEP OF THIS BOOT
  172. PROCESS. THIS STEP LOADS THE PROGRAM IN
  173. FROM DISK, AND THEN JUMPS TO THE
  174. BEGINNING OF IT .BY TYPING "93CC
  175. (RETURN)", THE COMPUTER WILL DISPLAY
  176. THE PAGE-1 OF THE NEXT STAGE BOOT. IT
  177. WILL DISPLAY "B6", AND YOU ADD ONE TO
  178. IT, AND GET $B7, SO TYPE "B700L". AND
  179. PRESTO, WE HAVE THE NEXT STAGE OF THIS
  180. BOOT. THIS BOOT FROM HERE DOES THE
  181. PROGRAM LOADING, ALONG WITH TURNING ON
  182. THE GRAPHICS, AND JUMPS TO THE
  183. BEGINNING OF IT. IF YOU CAN SEE IT, THE
  184. BEGINNING OF IT IS AT $600, AND THERE
  185. IS A JUMP TO $600 AT LOCATION $B759.
  186. SO, ALL WE HAVE TO DO IS TO HAVE IT DO
  187. ALL THE LOADING, AND INSTEAD OF HAVING
  188. IT JUMP TO $600, STOP IT THERE. BUT
  189. THERE IS A PROBLEM CONNECTED WITH THIS
  190. (ARN'T THERE ALWAYS !). THE PROBLEM IS
  191. THAT IF WE STOP IT HERE, LOCATION $600
  192. IS IN TEXT VIDEO MEMORY, SO WE MUST NOT
  193. HAVE IT JUMP TO $FF59 (STOP), BUT JUMP
  194. TO A ROUTINE THAT RELOCATES EVERYTHING
  195. FROM $0000-$0800, AND THEN STOP. I WILL
  196. PROVIDE YOU WITH THIS. JUST TYPE
  197. "B500:A2 00 B5 00 9D 00 20 BD 00 01 9D
  198. 00 21 BD 00 02 9D 00 22 BD 00 03 9D 00
  199. 23 BD 00 04 9D 00 24 BD 00 05 9D 00 25
  200. BD 00 06 9D 00 26 BD 00 07 9D 00 27 E8
  201. D0 CE 4C 59 FF (RETURN)" THIS WILL TAKE
  202. CARE OF MOVEING EVERYTHING FROM $0-$800
  203. TO $2000-$2800. BUT NOW CHANGE $B759 TO
  204. JUMP TO THIS SMALL PROGRAM BY TYPING
  205. "B759:4C 00 B5" BUT WE ALSO HAVE TO
  206. CHANGE SOME OTHER LOCATIONS. LOCATION
  207. $93CC MUST BE CHANGED TO $D6, SO TYPE
  208. "93CC:D6 (RETURN), AND INSTEAD OF
  209. JUMPING TO $FF59 AT $8409, AND STOPPING
  210. AT THAT STAGE OF THE BOOT, JUMP TO THE
  211. BEGINNING OF THIS BOOT AT $B700, BY
  212. TYPING "9409:4C 00 B7 (RETURN)". THAT
  213. TAKES CARE OF MOST ALL PREPERATIONS FOR
  214. THE FINAL CRACK. NOW CHECK TO SEE THAT
  215. YOU HAVE TYPED IN EVERYTHING CORRECTLY,
  216. AND IF YOU ARE READY, TYPE "9600G"
  217.      IF EVERYTHING WORKED CORRECTLY, IT
  218. SHOULD BOOT UP FOR ABOUT 10 SECONDS,
  219. AND YOU SHOULD SEE THE HI-RES PICTURE
  220. LOADING IN, AND THEN YOUR SPEAKER
  221. SHOULD BEEP, AND YOU SHOULD SEE, ON THE
  222. SCREEN A BUNCH OF LETTERS. IF THIS
  223. DIDN'T HAPPEN, CHECK ALL THESE STEPS,
  224. AND REPEAT THE PROCESS. IF IT HAS, THEN
  225. YOU ARE JUST ABOUT FINISHED. IF YOU
  226. WANT TO CHECK TO SEE IF IT HAS WORKED,
  227. ASSEMBLE THIS PROGRAM, AND TYPE IT IN
  228. AT $B560, IF NOT, GO ON TO THE NEXT
  229. STEP.
  230.  
  231.       OBJ $B560
  232. BEGIN LDX #$00
  233. AGAIN LDA $2000,X
  234.       STA $00,X
  235.       LDA $2100,X
  236.       STA $100,X
  237.       LDA $2200,X
  238.       STA $200,X
  239.       LDA $2300,X
  240.       STA $300,X
  241.       LDA $2400,X
  242.       STA $400,X
  243.       LDA $2500,X
  244.       STA $500,X
  245.       LDA $2600,X
  246.       STA $600,X
  247.       LDA $2700,X
  248.       STA $700,X
  249.       INX
  250.       BNE AGAIN    ;LOOP
  251.       JMP $0600    ;BEGINNING OF PGM
  252. NOW
  253. BOOT UP A NORMAL DOS DISK, AND SAVE
  254. EVERYTHING FROM $2000-$2800, WHICH
  255. REPRESENT LOCATIONS $0-$8 MOVED UP BY
  256. $2000.YOU SHOULD THEN REPEAT THE WHOLE
  257. BOOT TRACE, AND PROCEED TO THE NEXT
  258. STEP.EXAMINE THE MEMORY OF YOU APPLE,
  259. YOU WILL SHOULD SAVE ALL THE
  260. INFORMATION FROM $800-$A000 ON A NORMAL
  261. DOS DISK, THEN LINK THE FILES THAT YOU
  262. HAVE SAVED ON THE DOS DISK TOGATHER,
  263. AND MAKE THE FILE A B-RUNABLE FILE,
  264. THAT LOADS EVERYTHING IN, AND  MOVES
  265. THE $00-$800 IMAGE BACK DOWN IN MEMORY,
  266. AND THEN JUMPS TO LOCATION $600, THE
  267. BEGINNING OF THE PROGRAM.
  268.  
  269.      IF YOU HAVE ANY QUESTIONS ON THIS,
  270. YOU MAY MAIL THEM TO ME. ALSO, I HAVE
  271. RECENTLY CRACKED MANY GOOD PROGRAMS
  272. SUCH AS STAR BLAZER, TWERPS, SNAKE
  273. BYTE, FOOSBALL, DUNG BEETLES, AND
  274. LOCKSMITH 4.1. IF YOU ARE IN NEED OF
  275. ANY OF THESE, LEAVE ME MAIL ON THIS
  276. BOARD. LOOK FOR SOME NEW ARTICALS SOON,
  277. ON HOW TO CRACK OTHER PROGRAMS, AND
  278. UNTIL THEN KEEP ON CRACKING !
  279.  
  280.  
  281. IF ANY ONE OF YOU ARE UNFAMILIAR WITH
  282. HOW TO SAVE EVERYTHING, AND YOU NEED
  283. SOME HELP, HERE IS HOW TO DO IT: FOLLOW
  284. THE DIRECTIONS FOR TRACEING THE BOOT,
  285. AND  TYPE "2800<9600.A000M (RETURN)"
  286. AND "3200<800.900M (RETURN)" ALSO, WE
  287. NEED A PROGRAM TO MOVE EVERYTHING THAT
  288. WE JUST RELOCATED BACK INTO THEIR
  289. ORIGINAL LOCATIONS. SO WE NEED A
  290. PROGRAM LIKE THIS:
  291.       ORG $3400
  292.       LDX #$00
  293. LOOP1 LDA $2000,X
  294.       STA $00,X
  295.       LDA $2100,X
  296.       STA $100,X
  297.       LDA $2200,X
  298.       STA $200,X
  299.       LDA $2300,X
  300.       STA $300,X
  301.       LDA $2400,X
  302.       STA $400,X
  303.       LDA $2500,X
  304.       STA $500,X
  305.       LDA $2600,X
  306.       STA $600,X
  307.       LDA $2700,X
  308.       STA $700,X
  309.       NOP
  310.       LDA $3200,X
  311.       STA $800,X
  312.       LDA $3300,X
  313.       STA $900,X
  314.       NOP
  315.       LDA $2800,X
  316.       STA $9600,X
  317.       LDA $2900,X
  318.       STA $9700,X
  319.       LDA $2A00,X
  320.       STA $9800,X
  321.       LDA $2B00,X
  322.       STA $9900,X
  323.       LDA $2C00,X
  324.       STA $9A00,X
  325.       LDA $2D00,X
  326.       STA $9B00,X
  327.       LDA $2E00,X
  328.       STA $9C00,X
  329.       LDA $2F00,X
  330.       STA $9D00,X
  331.       LDA $3000,X
  332.       STA $9E00,X
  333.       LDA $3100,X
  334.       STA $9F00,X
  335.       NOP
  336.       INX
  337.       BNE LOOP1
  338.       LDA $C057 
  339.       LDA $C054
  340.       LDA $C052
  341.       LDA $C050    ;GRAPHICS
  342.       JMP $600     ;BGN OF PGM.
  343.  
  344. NOW YOU CAN BOOT UP YOU 3.3 DISK, AND
  345. TYPE "CALL-151 (RETURN)", "9FD:4C 00 34
  346. (RETURN)","A964:FF (RETURN)", AND
  347. "BSAVE GALAXIAN,A$9FD,L$8C03 (RETURN)",
  348. AND NOW YOU ARE FINISHED.
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357. ME.
  358.  
  359.  
  360.  
  361.  
  362.  
  363.        SOFTWARE PROTECTION BREAKING DIV
  364. ISION
  365.  
  366.  
  367.                    
  368.  
  369.      
  370.  
  371.